#ifndef __MPU6050DEVICEDEF_H__
#define __MPU6050DEVICEDEF_H__

#include "plat/nonecopyable.h"

/// @brief IIC模式
enum class MPU6050IICMode
{
    IIC_Emu = 0,
    IIC_SOC
};

/// @brief 计算模式
enum class MPU6050CalcMode
{
    Mahony = 0,
    Madgwick,
    DMP
};

/// @brief 
class MPU6050Result : public NoneCopyable
{
public:
    float pitch;
    float rol;
    float yaw;
    
    int16_t acc_x; 
    int16_t acc_y;
    int16_t acc_z;
    int16_t gyr_x;
    int16_t gyr_y;
    int16_t gyr_z;
    int16_t temp;

    bool isOk = false;
    bool logEnableSimple = true;

public:
    explicit MPU6050Result();
    virtual ~MPU6050Result();
    
public: 
    std::string ToString();
};

#endif // __MPU6050DEVICEDEF_H__
